#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
#include<unistd.h>
#include<malloc.h>

#define EXP 0.0000000001



typedef int DataType;

typedef int (*Hashfunc)(DataType data,int capacity);

typedef enum{
  EMPTY,
  DATA,
  DELETE 
}Stata;


typedef struct Element{
  DataType data;
  Stata stata;
}Element;

typedef struct Hashtable
{
  Element *table;
  int size;
  int capacity;
  Hashfunc hash;
}Hashtable;



int hashInsert(Hashtable *ht,DataType data);

void BuyMemory(Hashtable *ht);

int HashDelete(Hashtable *ht,DataType data);

int HashFind(Hashtable *ht,DataType data);

void HashInit(Hashtable *ht,int capacity,Hashfunc hash);
void Test();


